Gut, ja, dann können wir starten. Schönen guten Tag zur Vorlesung Rechnerkur die Woche.
Was haben wir also letzte Woche geschafft? Letzte Woche haben wir uns also nochmal intensiv
auseinandergesetzt mit den Eigenschaften Superskalator Architektur. Insbesondere,
wie können wir das Problem in den Griff bekommen von Write-after-read und Write-after-write hazards.
Und wir haben gesehen, es gibt also da zwei Ansätze, das war letzte Woche noch.
Das ist nochmal mit der Discordboard Architektur, das haben wir vorletzte Woche gemacht. Dann haben
wir nochmal diese Thomas-Solo Architektur behandelt. Thomas-Solo war die besondere
Eigenschaft, dass es diese Reservierungsstation gibt und dort die Technik des Register-Umbinens
angewandt wird. Also das heißt, von allen Daten, die benötigt werden bzw. die eine Quelle für einen
späteren Write-after-read-Hazard werden könnten, zieht man sich schon mal eine Kopie sicherheitshalber
und arbeite dann eben auf dieser Kopie. Ja, dann haben wir uns nochmal angeguckt. Das ging dann
schon ein bisschen in die Modellierung mit rein. Das wird dann auch noch Thema des Anfangs von
Kapitel 2 sein. Aber ich habe es jetzt hier schon mal vorgezogen, weil es an der Stelle eben ganz
gut gepasst hat, das Ganze bei den Pipelines damit unterzubringen. Ja, dann haben wir uns also diese
drei Modelle da angeguckt, um die optimale Pipeline-Tiefe auszurechnen. Und diese Modelle
unterschieden sich dann nachher in der Reihenfolge dadurch, inwieweit die Technologie mitberücksichtigt
wurde oder eben nur die Architektur wie das Modell 1. Ja, damit sind Sie jetzt also sozusagen fit und
wissen, wie eine Ausführungseinheit in der modernen Mikroprozessor arbeitet, wie die Pipelines
strukturiert sind und so weiter. Und wir gehen jetzt ein Stück weiter in der Prozessorearchitektur
Hierarchie und gehen ein Stück weit nach außen und schauen uns jetzt an, wie funktioniert denn eigentlich
der Zugriff auf den Speicher und hier insbesondere auf den Cache, also Arbeitsspeicher. Gucken wir eigentlich in der
Rechnerarchitektur nicht mehr an, das habe ich in der Grundlagenrechnerarchitektur gemacht und hier
konzentrieren wir uns auf den Zugriff des Caches und insbesondere wie der Cache im Inneren ausschaut,
weil das ist eine Thematik, die haben wir in der Grundlagenrechnerarchitektur nicht so intensiv
behandelt. Also ganz klar, neben dem Prozessor ist in einem Rechner das Speichersystem ganz
entscheidend für die Leistungsfähigkeit und auch die Kosten, die ich für diesen Rechner aufwenden
muss. Tja, in meiner Idealvorstellung, also vielleicht noch mal kurz vorhin gesagt, das was jetzt kommt,
ist zum Großen, die ersten 5, 6, 7, 8 Folien sind eigentlich noch mal eine Wiederholung von Grah,
aber ich gehe mir davon aus, dass sie die Folien nicht alle mehr im Kopf haben, deswegen ist
vielleicht ganz vernünftig, das noch mal zu machen. Den CE1 habe ich auch gemacht. Das sind fast,
das sind identischen wie ein CE1. So, in meiner Idealvorstellung habe ich einen Cache,
der bietet ausreichend Kapazität. Die Zugriffszeit kann ständig mit der
Verarbeitungsgeschwindigkeit des Prozessors mithalten. Ja, ist eine Idealvorstellung.
Aus wirtschaftlichen und auch aus technischen Gründen ist sowas eben nicht realisierbar.
Die beiden Gründe sind auch streng miteinander korreliert. Die technischen Gründe würde heißen,
ich brüche da eigentlich überall SRAMs und brüche, wie wir dann später sehen werden,
auch ganz viele Vergleiche, die kosten dann auch viel Transistoren und damit erhöhen die die Kosten.
Und also ich kann hier nicht den vernünftigen 20 MB oder 20 GB SRAM-Cache zur Verfügung stellen,
ein bisschen zu groß. Die Abhilfe ist dann eben eine mehrstufige Speicherhierarchie,
das heißt in jeder Stufe, die nahe am Prozessor angeordnet ist, habe ich kleinere,
aber dafür schnellere Speicher und die sind dann letztendlich pro byte auch
teurer als die nächste Stufe. Wenn wir das Ganze fortsetzen würden, landen wir am Ende
bei den Bandspeichern und dort ist der aufzuwertende Euro pro Bit sehr günstig,
auch bei den CD's zum Beispiel, beim SRAM ist er natürlich wesentlich teurer und beim Register
ist er noch teurer. Wichtig ist, dass die Inklusionsbedingungen gilt, das heißt jeder
Speicher einer Hierarchiestufe enthält einen Ausschnitt der nächstgrößeren Hierarchiestufe.
Das heißt in den Registern sind Werte gespeichert, die finden sich dann auch im Cache erster Stufe,
also erster Ebene, im Cache erster Ebene, da finden sich dann Werte, die auch im Cache zweiter Ebene
sind und auf jeden Fall, gut bei den Caches ist vielleicht die Inklusionsbedingungen nicht immer
vollständig angehalten, aber auf jeden Fall müssen sie im Arbeitsspeicher, einen Ausschnitt aus dem
Presenters
Zugänglich über
Offener Zugang
Dauer
01:35:19 Min
Aufnahmedatum
2013-11-14
Hochgeladen am
2019-04-29 18:39:02
Sprache
de-DE
-
Organisationsaspekte von CISC und RISC-Prozessoren
-
Behandlung von Hazards in Pipelines
-
Fortgeschrittene Techniken der dynamischen Sprungvorhersage
-
Fortgeschritten Cachetechniken, Cache-Kohärenz
-
Ausnutzen von Cacheeffekten
-
Architekturen von Digitalen Signalprozessoren
-
Architekturen homogener und heterogener Multikern-Prozessoren (Intel Corei7, Nvidia GPUs, Cell BE)
-
Architektur von Parallelrechnern (Clusterrechner, Superrechner)
-
Effiziente Hardware-nahe Programmierung von Mulitkern-Prozessoren (OpenMP, SSE, CUDA, OpenCL)
-
Leistungsmodellierung und -analyse von Multikern-Prozessoren (Roofline-Modell)
- Patterson/Hennessy: Computer Organization und Design
-
Hennessy/Patterson: Computer Architecture - A Quantitative Approach
-
Stallings: Computer Organization and Architecture
-
Märtin: Rechnerarchitekturen